/// <reference types="vitest" />
// 这一行是TypeScript的三斜线指令，用于引入Vitest的类型定义，以便在代码中使用Vitest的类型检查和自动补全功能。

import { defineConfig } from "vite";
// 从Vite中导入defineConfig函数，用于定义Vite的配置。

import vue from "@vitejs/plugin-vue";
// 导入Vite的Vue插件，用于支持Vue单文件组件（.vue文件）。

import vueJsx from "@vitejs/plugin-vue-jsx";
// 导入Vite的Vue JSX插件，用于支持在Vue组件中使用JSX语法。

import VueMacros from "unplugin-vue-macros";
// 导入unplugin-vue-macros插件，用于在Vue中支持更多的宏和语法糖。

// https://vitejs.dev/config/
// 这是一个注释，指向Vite配置文档的URL，供开发者参考。

export default defineConfig({
  // 使用defineConfig函数定义并导出Vite的配置对象。

  plugins: [
    // 使用unplugin-vue-macros插件，并配置其选项。
    VueMacros.vite({
      // 在VueMacros插件中嵌套使用其他插件。
      plugins: {
        vue: vue(), // 使用Vue插件，支持Vue单文件组件。
        vueJsx: vueJsx(), // 使用Vue JSX插件，支持JSX语法。
      },
    }),
  ],

  // test选项用于配置Vitest的测试环境。
  test: {
    globals: true, // 启用全局变量，使得测试代码中可以直接使用describe、it等全局函数。
    environment: "jsdom", // 设置测试环境为jsdom，模拟浏览器环境进行测试。
  },
});
